#include <bits/stdc++.h>
using namespace std;
int n,cnt,c[100010];
struct node{
    bool in_or_out,killed_other;
    int val;
};
node r[100010];
bool cmp(const node x,const node y){
    return x.val<y.val;
}
int main(){
    freopen("duel.in","r",stdin);
    freopen("duel.out","w",stdout);
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>r[i].val;
        c[r[i].val]++;
    }
    bool f_5_10=0;
    for(int i=3;i<=100000;i++){
        if(c[i]){
            f_5_10=1;
            break;
        }
    }
    if(!f_5_10){
        if(c[2]<c[1]){
            cout<<c[2]+(c[1]-c[2]);
        }else{
            cout<<c[2];
        }
        return 0;
    }
    sort(r+1,r+1+n,cmp);
    for(int i=2;i<=n;i++){
        for(int j=i-1;j>=1;j--){
            if(r[j].in_or_out==0&&r[i].val>r[j].val){
                r[j].in_or_out=1;
                r[i].killed_other=1;
                break;
            }
        }
    }
    for(int i=1;i<=n;i++){
        if(r[i].in_or_out==0){
            cnt++;
        }
    }
    cout<<cnt;
    return 0;
}

